package com.ksyun.cloudhostalarmprocessing.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 主机类
 */
@Data
public class Host {

    private static final Host instance = new Host();

    public static Host getInstance(){
        return instance;
    }

    private Host(){}

    //主机id
    private String instanceId;

    //主机名
    private String hostname;

    //节点CPU的使用时间（单位：秒）
    private float node_cpu_seconds_total;

    //五分钟负载
    private float node_load5;

    //节点总内存大小（单位：字节）
    private float node_memory_MemTotal_bytes;

    //节点空闲内存大小（单位：字节）
    private float node_memory_MemFree_bytes;

    //节点缓存大小（单位：字节）
    private float node_memory_Buffers_bytes;

    //节点页面缓存大小（单位：字节）
    private float node_memory_Cached_bytes;

    //分区用户剩余空间（单位：字节，表示用户拥有的剩余可用空间）
    private float node_filesystem_avail_bytes;

    //分区空间总容量（单位：字节）
    private float node_filesystem_size_bytes;

    //分区物理剩余空间（单位：字节，表示物理层的可用空间）
    private float node_filesystem_free_bytes;

    //分区读总字节数（单位：字节）
    private float node_disk_read_bytes_total;

    //分区写总字节数（单位：字节）
    private float node_disk_written_bytes_total;

    //分区读总次数
    private float node_disk_reads_completed_total;

    //分区写总次数
    private float node_disk_writes_completed_total;

    //接收流量总字节数（单位：字节）
    private float node_network_receive_bytes_total;

    //发送流量总字节数（单位：字节）
    private float node_network_transmit_bytes_total;

    //接收流量总包数（单位：包）
    private float node_network_receive_packets_total;

    //发送流量总包数（单位：包）
    private float node_network_transmit_packets_total;

    //接收流量总丢包数（单位：包）
    private float node_network_receive_drop_total;

    //发送流量总丢包数（单位：包）
    private float node_network_transmit_drop_total;

    //当前状态为ESTABLISHED的TCP连接数
    private float node_netstat_Tcp_CurrEstab;

    //主机TIME_WAIT连接数
    private float node_sockstat_TCP_tw;

    //主机存活（1：up，0：down）
    private float up;

}
